package com.itcam.iostream.filestream;

import java.io.File;
import java.io.IOException;

/**
 * Author:Cammy.Wu
 * Date:2024-04-27
 * Description: 对文件进行操作
 */

public class IO_File_Test01 {
    public static void main(String[] args) throws IOException {
        File f1 = new File("e:\\IOstream\\IO_File_Test01.txt");
        File f2 = new File("e:/IOstream/IO_File_Test01.txt");
        // File.separator属性获取当前操作系统的路径拼接符号 == 推荐使用
        File f3 = new File("e:" + File.separator + "IOstream" + File.separator + "IO_File_Test01.txt");

        // 常用方法
        System.out.println("文件是否可读：" + f1.canRead());
        System.out.println("文件是否可写：" + f1.canWrite());
        System.out.println("文件的名字：" + f1.getName());
        System.out.println("上级目录：" + f1.getParent());
        System.out.println("是否是一个目录：" + f1.isDirectory());
        System.out.println("是否是一个文件：" + f1.isFile());
        System.out.println("是否隐藏：" + f1.isHidden());
        System.out.println("文件大小：" + f1.length());// 单位字节

        // 如果文件存在就删除，文件不存在就创建
//        if(f1.exists()){
//            f1.delete();
//        }else{
//            f1.createNewFile();
//        }

        System.out.println(f1 == f2); // 比较两个对象的地址
        System.out.println(f1.equals(f2)); // 比较两个对象对应的文件的路径

        // 与路径相关的：
        System.out.println("绝对路径:" + f1.getAbsolutePath());
        System.out.println("相对路径:" + f1.getPath());
        System.out.println("toString:" + f1.toString());

        // ————————————————————————————————————————————————————————————————————————————
        System.out.println("------------------------------------------------------");
        File file = new File("demo.txt");
        if (!file.exists()) {
            file.createNewFile();
        }
        // 绝对路径指的就是：真实的一个精准的路径
        System.out.println("绝对路径:" + file.getAbsolutePath());
        // 相对路径：有一个参照物，相对这个参照物的路径
        System.out.println("相对路径:" + file.getPath());
        // toString的效果是相对路径
        System.out.println("toString:" + file.toString());

    }
}
